/*
 * @Author: cl
 * @Description:
 * @Date: 2023-04-04 15:07:29
 * @LastEditTime: 2023-09-26 00:31:30
 * @FilePath: \jsnode\nestjs\naota\src\app.module.ts
 * @LastEditors: chenli 604089679@qq.com
 */
import { Module } from '@nestjs/common'
import { TypeOrmModule } from '@nestjs/typeorm'
import { AppController } from './app.controller'
import { AppService } from './app.service'
import { DogModule } from './dog/dog.module'
import { ScoreModule } from './score/score.module'
import { StudentModule } from './student/student.module'
import { SubjectModule } from './subject/subject.module'
import { TigerModule } from './tiger/tiger.module'
import { UserModule } from './user/user.module'
import { ConfigModule } from '@nestjs/config';
import { UploadModule } from './upload/upload.module';
import { PrismasqlModule } from './prismasql/prismasql.module';
import { PrismaModule } from './prisma/prisma.module';


@Module({
  imports: [
    DogModule,
    TypeOrmModule.forRoot({
      type: 'mysql', //数据库类型
      username: 'root', //账号
      password: 'kcwl8888', //密码
      host: 'localhost', //host
      port: 3306, //
      database: 'studentscore', //库名
      entities: [__dirname + '/**/*.entity{.ts,.js}'], //实体文件
      synchronize: true, //synchronize字段代表是否自动将实体类同步到数据库
      retryDelay: 500, //重试连接数据库间隔
      retryAttempts: 10, //重试连接数据库的次数
      autoLoadEntities: true, //如果为true,将自动加载实体 forFeature()方法注册的每个实体都将自动添加到配置对象的实体数组中
    }),
    // TypeOrmModule.forRoot({
    //   type: 'mysql', //数据库类型
    //   username: 'root', //账号
    //   password: '123456', //密码
    //   host: 'localhost', //host
    //   port: 3306, //
    //   database: 'studentscore', //库名
    //   entities: [__dirname + '/**/*.entity{.ts,.js}'], //实体文件
    //   synchronize: true, //synchronize字段代表是否自动将实体类同步到数据库
    //   retryDelay: 500, //重试连接数据库间隔
    //   retryAttempts: 10, //重试连接数据库的次数
    //   autoLoadEntities: true, //如果为true,将自动加载实体 forFeature()方法注册的每个实体都将自动添加到配置对象的实体数组中
    // }),
    StudentModule,
    ScoreModule,
    SubjectModule,
    UserModule,
    UploadModule,
    PrismasqlModule,
    PrismaModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
